<?php namespace Common\Model;
use Hdphp\Model\Model;
//类型模型
class Category extends Model{
	//		引入表
	protected $table="category";
	//自动验证
	protected $validate=array(
	array('cname','required','分类名不能为空',3,3),
	 array('cname', 'maxlen:10', '分类名称不得超过10个字符', 3, 3),
	array('sort','num:0,65535','排序必须为数字',3,3));
	
	
	//添加分类
	public function store(){
		if(!$this->create()){
			return false;
		}
		return $this->add();
	}
	//删除分类
	public function del($cid){
		
		$this->delete($cid);
		return true;
	}		
			
	//	修改分类	
	public function edit($cid){
		if($this->create()){
			
			$this->where("cid",$cid)->save();
			return true;
		}
		return false;
	}
	

	
			
	//	获得当前分类的所有子集	
	public function getSon($data,$cid){
		//	定义静态变量
		static $temp=array();
		foreach ($data as $v){
			
			if($cid==$v['pid']){
		//		把找到的子集cid压入到temp数组
				$temp[]=$v['cid'];
		//		继续递归找子集
				$this->getSon($data,$v['cid']);
			}
			
		} 
		return $temp;
	}
		
	//	父级不是自身和自身的所有子集	
	public function getNOMine($cid){
		//	获得自身和自身的所有子集
		$cids=$this->getSon($this->get(),$cid);
//		
		//压入自身的cid
		$cids[]=$cid;
//		sp($cids);die;
		//排除他们
		$data=$this->where('cid NOT IN('.implode("", $cids).")")->get();
		//树状结构
		return $data;
	}
		
		
		
		
		
		
		
		
		
		
}
	